この質問にはすでにここに答えがあります: 非同期呼び出しから応答を返すにはどうすればよいですか? (42回答) 5ヶ月前に閉店しました。 したがって、次のコードを実行すると、console.log(ba)の応答は未定義になります。 しかし、Chrome V8コンソールでこれを試してみると、期待どおりの正しい出力が得られます。ここで何が起こっているのか完全にはわかりません。 バをしましょう。 関数Setqa(){ (async()=> { fetch( 'questions.json')を待つ .then(res => res.json()) .then(async(data)=> { ba =データを待つ; }); })(); } Setqa(); console.log(ba); jsonファイルの内容は次のとおりです。 「質問」:[{ "questionType": "複数"、 「質問」:「天気はどうですか」、 "回答": ""、 "質疑応答": "" }、 {{ "questionType": "複数"、 「質問」:「今日はお元気ですか?」、 "answers": "
2021-02-27 08:13:14
私はそれがうまくいくはずだと思います バをしましょう。 関数Setqa(){ fetch( 'questions.json')を返します .then(res => res.json()) .then(async(data)=> { ba =データを待つ; }); } Setqa()。then(()=> console.log(ba)); しかし、より良いアプローチは 非同期関数setQa(){ const res = await fetch( 'questions.json'); res.json();を返します。 } ba = await setQa(); | あなたが探している答えではありませんか? javascript json fetch console.logとタグ付けされた他の質問を参照するか、独自の質問をしてください。